//888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
//
//	File		 :	ParseMSF.h
//	Contents	 :	Header file for class CParseMSF
//	Creation Date:	22/12/1999
//	Last Modified:	23/12/1999	lg
//	tabs width	 :	every 4 characters
//
//888888888888888888888888888888888888888888888888888888888888888888888888888888888888888

#if !defined(PARSEMSF_H)
#define PARSEMSF_H

#include "parse.h"

//_______________________________________________________________________________________
//
//	Handle call backs from the parsing engine when there are errors or warnings
//	CConsole_ParseMessageCallback just dumps the stuff to the standard streams
//		Last modified: lg 23/12/1999
//		
//_______________________________________________________________________________________
class CParseMSF : public CParse
{
public:
			CParseMSF(CParseMessageCallback& callback, bool ignoreLoop, bool consolidate);
	bool	DoParse(char* const MSF_Stream, CSequence& outputSequence);
private:
	bool	ParseMSFHeader (CSequence& outputSequence);
	bool	ParseMSFNames(CSequence& outputSequence);
	bool	ParseMSFData(CSequence& outputSequence);
	bool	CheckDSCSecStruct(CSequence& seq);
	void	ArrangePredictionData(CSequence& seq);
// private data
	bool	m_IgnoreLoop;
	bool	m_Consolidate;

};

#endif // !defined(PARSEMSF_H)



